
$(document).on('ready', function() {
         wWidth = $(window).width();
         dWidth = wWidth * 0.8;
    $("#detproducto").dialog({
        width:dWidth,
        height:600,
        autoOpen: false,
        modal: true,
        show: {
            effect: "blind",
            duration: 300
        },
        hide: {
            effect: "blind",
            duration: 300
        }
    }).css("font-size", "15px");
    $('#detproducto').submit(function(e) {
        e.preventDefault();
    });

    $("#footercarrito").hide();
    $(".botoncitos").button();
    /****************************************************/
    /****************************************************/
    //-----------------------------------------------------------------------    
    $("#minimizar").click(function() {
        $('#divcarrito').slideToggle(500);
    });
    $("#todos").click(function() {
        TodosProductos();
    });

    //_----------------------------------------------------------------------
//AutoComplete
    //-----------------------------------------
    $("#resultado").hide();
    /* $("#producto").autocomplete({
     source: "Productos/autoComplete",
     minLength: 1,
     focus: function(event, ui) {
     $("#producto").val(ui.item.Producto.producto);
     return false;
     },
     select: function(event, ui) {
     $("#producto").val(ui.item.Producto.producto);
     var id = ui.item.Producto.id;
     
     $.ajax({
     url: 'Productos/getData/' + id,
     dataType: 'json',
     success: function(data) {
     var html = '<div class="productos">';
     html += '<h3>Detalle del producto</h3><br>';
     html += '<p>' + data.Producto.detalleProducto + '</p>'
     html += '</div>';
     $("#resultado").html(html);
     $("#resultado").show('blind');
     }
     });
     return false;
     }//cuando se seleccione un elemento
     }).data("ui-autocomplete")._renderItem = function(ul, item) {
     return $("<li>")
     .data("ui-autocomplete-item", item)
     .append("<a>" + item.Producto.producto + "</a>")
     .appendTo(ul);
     };
     */
    //-----------------------------------------------------------------------
    carrito();
    llenarlistbox();
    TodosProductos();

});
//--------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------
//Funciones--->
function llenarlistbox() {
    $.ajax({
        beforeSend: function() {
            $('#list-categorias').html("<center><img src='/ecomerce/css/img/ajax_small.gif' /></center>");
        },
        url: 'Categorias/listacategorias',
        dataType: 'json',
        success: function(data) {
            arreglo = [];
            var listacat = "";
            $.each(data, function(item) {
                var idCat = data[item].Categoria.id;
                var cat = data[item].Categoria.categoria;
                var img = data[item].Categoria.filename;
                ele = {};
                ele ["Id"] = idCat;
                arreglo.push(ele);
                listacat += '<div data-id="' + idCat + '">';
                listacat += '<p><img src="/ecomerce/img/uploads/categoria/filename/' + img + '" alt="' + cat + '" class="imgcategorias"></p>';
                listacat += '<h2><span>' + cat + '</span></h2>';
                listacat += '<p></p>';
                listacat += '</div>';
            });
            if (arreglo == "") {
                $('#list-categorias').html("<center>Actualmente no hay categorias</center>");
            } else {
                $('#list-categorias').html(listacat);
            }
            convertir();
        }
    });

}

//---------------------------------------------------------------------------------------------------
function llenarProductos(idCat) {
    var listaproductos = '';
    $.ajax({
        beforeSend: function() {
            $('#list-productos').html("<center><img src='/ecomerce/css/img/ajax_small.gif' /></center>");
        },
        url: 'Productos/productos_categorias/' + idCat,
        dataType: 'json',
        success: function(data) {
           if ((data != null) && (data != "")) {
                $.each(data, function(item2) {

                    listaproductos += '<article class="productos" id="slidingProduct' + data[item2].Producto.id + '">';
                    listaproductos += '<p class="namepcarr">' + data[item2].Producto.producto + '</p>';
                    listaproductos += '<p>Precio: $' + data[item2].Producto.precioVenta + '</p>';
                    listaproductos += '<p>stock: ' + data[item2].Producto.stock + '</p>';
                    var imagenes = data[item2].Imagene;
                    $.each(imagenes, function(item3) {
                           listaproductos += '<img src="/ecomerce/img/uploads/imagene/filename/' + imagenes[item3].filename + '" class="imgproductos" data-id="' + data[item2].Producto.id + '">';
                     return false;
                    });
                    listaproductos += '<p><button data-id=' + data[item2].Producto.id + ' class="botoncito">añadir</button></p>';
                    listaproductos += '</article>';
                });
            } else {
                 listaproductos = "<center>Actualmente no hay productos en esta categoria</center>";
            }
            $('#list-productos').html(listaproductos);
        }
    });

}
//BOTON COMPRAR
//----------------------------------------------------------------
$(document).on("click", "#comprar", function(e) {
    window.location.href = "http://localhost:26/ecomerce/productos/detallecarrito";
});
//-----------------------------DETALLE PRODUCTO----------------------------------------------------------



$(document).on("click", ".imgproductos", function(e) {

    var idPro = $(this).attr("data-id");
    imagenesproductos(idPro);
  
});
function imagenesproductos(id){
      $.ajax({
        url: 'http://localhost:26/ecomerce/productos/productobusq/' + id,
        dataType: 'json',
        success: function(data) {
            var detalle = '';
            var imgPro = '';
            var imagenes = data.Imagene;

            detalle += '<div class="nomPro">Producto:' + data.Producto.producto + ' </div>';
            $.each(imagenes, function(item3) {
                imgPro += '<div>';
                imgPro += '<p><img src=/ecomerce/img/uploads/imagene/filename/' + imagenes[item3].filename + ' class="imgdetpro"></p>';
                imgPro += '<h2><span></span></h2>';
                imgPro += '<p></p>';
                imgPro += '</div>';
            });
            detalle += '<br><div class="detallePro">Detalle:<br>' + data.Producto.detalleProducto + '</div><br>';
            detalle += '<div class="nomPro">Precio: $ ' + data.Producto.precioVenta + '</div>';

            detalle += '<center><button data-id=' + data.Producto.id + ' class="botoncito">añadir</button></center>';
            
            $('#detalleProducto').html(imgPro);
            $('#derdetpro').html(detalle);
         $('#detproducto').dialog("open");
            convertir2();
        }


    });
}
//CONVERTIR LAS CATEGORIAS EN UN CUADRO
function convertir() {
    $('#list-categorias').movingBoxes({
        /* width and panelWidth options deprecated, but still work to keep the plugin backwards compatible
         width: 500,
         panelWidth: 0.5,
         */
        startPanel: 1, // comenzar con el panel 1
        wrap: true, // true, para un loop infinito
        buildNav: true, // true, link de navegacion activado
        navFormatter: function(index, panel) {
            return  "&#9679;";
        }, beforeAnimation: function(e, slider, tar) {
            $('list-productos').html("<center><img src='/ecomerce/css/img/ajax_small.gif' /></center>");

        },
        //el panel imprime el nombre de la cat 
        completed: function(e, slider, tar) {
            var idcat = arreglo[tar - 1].Id;

            llenarProductos(idcat);

        }
    });

}
//--------------------------------------------------------------------------------------------------
//      CONVERTIR PARA DETALLE PRODUCTO

function convertir2() {
    $('#detalleProducto').movingBoxes({
        /* width and panelWidth options deprecated, but still work to keep the plugin backwards compatible
         */
        width: 500,        
        startPanel: 1, // comenzar con el panel 1
        wrap: false, // true, para un loop infinito
        buildNav: true, // true, link de navegacion activado
        navFormatter: function(index, panel) {
            return  "&#9679;";//devuelve º puntos
        }, beforeAnimation: function(e, slider, tar) {
            $('list-productos').html("<center><img src='/ecomerce/css/img/ajax_small.gif' /></center>");

        }
        //el panel imprime el nombre de la cat 

    });

}
//--------------------------------------------------------------------------------------------------







//---------------------------------------------------------------------------------------------------------
function TodosProductos() {
    var flag = false;
    var listaproductos = '';
    $.ajax({
        beforeSend: function() {
            $('#list-productos').html("<center><img src='/ecomerce/css/img/ajax_small.gif' /><center>");
        },
        url: 'Productos/listaproductos',
        dataType: 'json',
        success: function(data) {
            listaproductos += '<ul id="productosul">';
            $.each(data, function(item2) {
                if (data != "") {

                    flag = true;
                    listaproductos += '<li class="productos" id="slidingProduct' + data[item2].Producto.id + '">';
                    listaproductos += '<p class="namepcarr">' + data[item2].Producto.producto + '</p>';
                    listaproductos += '<p>Precio: $' + data[item2].Producto.precioVenta + '</p>';
                    listaproductos += '<p>stock: ' + data[item2].Producto.stock + '</p>';
                    var imagenes = data[item2].Imagene;
                    $.each(imagenes, function(item3) {
                        listaproductos += '<img src="/ecomerce/img/uploads/imagene/filename/' + imagenes[item3].filename + '" class="imgproductos" data-id="' + data[item2].Producto.id + '">';
                        return false;
                    });
                    listaproductos += '<p><button data-id=' + data[item2].Producto.id + ' class="botoncito">añadir</button></p>';
                    listaproductos += '</li>';
                }
            });
            if (flag) {
                listaproductos += '</ul>';
                $('#list-productos').html(listaproductos);
            } else {
                listaproductos = "<center>Actualmente no hay productos en la Base de datos</center>";
                $('#list-productos').html(listaproductos);
            }
        }

    });
}

function carrito() {
    carritolist = '';
    var precio = 0;
    var cantidad = 0;
    var subtotal = 0;
    var total = 0;
    $.ajax({
        beforeSend: function() {
            $('.status').html("<center><img src='/ecomerce/css/img/ajax_small.gif' /><center>");
        },
        url: 'http://localhost:26/ecomerce/Productos/carrito',
        dataType: 'json',
        success: function(data) {
             if ((data != null) && (data != "")) {

                $.each(data, function(item2) {
                    precio = data[item2].Precio;
                    cantidad = data[item2].Cantidad;
                    subtotal = precio * cantidad;
                    total += subtotal;

                    carritolist += '<article id=artcarrito data-id="' + data[item2].Id + '" class="productocarrito">';
                    carritolist += '<p><button data-id=' + data[item2].Id + ' class="borrarcarrito"> x </button></p>';

                    carritolist += '<span class="namepcarr">' + data[item2].Producto + ': <p>$' + data[item2].Precio + ' c/u</p></span>';
                    carritolist += '<input data-id=' + data[item2].Id + ' type="number" step="1" min="1" max="99" class="cant" value=' + data[item2].Cantidad + ' />';

                    carritolist += '<p><span class="subt">Subtotal: ' + subtotal + '</span></p>';
                    carritolist += '</article>';

                });
                $("#footercarrito").show();
            } else {

                $("#footercarrito").hide();
                carritolist = '<article class="productocarrito"><h2>No hay productos en el carro</h2></article>';
            }
            $("#divcarrito").html(carritolist);
            $("#totalcarrito").html("Total: $" + total);

        }
    });
}

//ADD PRODUCTOS AL CARRO
$(document).on("click", ".botoncito", function() {
    var idpro = $(this).attr('data-id');
    addToBasket(idpro);
    $.ajax({
        beforeSend: function() {
            $('#divcarrito').append("<center><img src='/ecomerce/css/img/ajax_small.gif'></center>");
            $('#totalcarrito').html("<center><img src='/ecomerce/css/img/ajax_small.gif' /></center>");
        },
        url: 'Productos/carrito/' + idpro,
        dataType: 'json',
        success: function() {
            carrito();
        }, error: function() {

        }

    });
});
//ELIMINAR PRODUCTOS DEL CARRO
$(document).on("click", ".borrarcarrito", function() {
    var idpro = $(this).attr('data-id');
    carritolist = '';
    var precio = 0;
    var cantidad = 0;
    var subtotal = 0;
    var total = 0;
    $.ajax({
        beforeSend: function() {
            $('#divcarrito').append("<center><img src='/ecomerce/css/img/ajax_small.gif'></center>");
            $('#totalcarrito').html("<center><img src='/ecomerce/css/img/ajax_small.gif' /></center>");
        },
        url: 'Productos/eliminarproductocarro/' + idpro,
        dataType: 'json',
        success: function(data) {

            if (data != "") {

                $.each(data, function(item2) {
                    precio = data[item2].Precio;
                    cantidad = data[item2].Cantidad;
                    subtotal = precio * cantidad;
                    total += subtotal;
                    carritolist += '<article data-id="' + data[item2].Id + '" class="productocarrito">';
                    carritolist += '<p><button data-id=' + data[item2].Id + ' class="borrarcarrito">X</button></p>';

                    carritolist += '<span class="namepcarr">' + data[item2].Producto + ': <p>$' + data[item2].Precio + ' c/u</p></span>';
                    carritolist += '<input data-id=' + data[item2].Id + ' type="number" min="1" max="99" class="cant" value=' + data[item2].Cantidad + ' />';

                    carritolist += '<p><span class="subt">Subtotal: ' + subtotal + '</span></p>';
                    carritolist += '</article>';
                });
                $("#totalcarrito").html("Total: $" + total);
                $("#footercarrito").show();

            } else {

                carritolist = '<article class="productocarrito"><h2>No hay productos en el carro</h2></article>';
                $("#footercarrito").hide();
            }
            $("#divcarrito").html(carritolist);
            $("#totalcarrito").html("Total: $" + total);
        },
        error: function() {

        }
    });
});
function esdecimal(n) {
    return n % 1 == 0;
}
//CAMBIAR CANTIDAD PRODUCTO DEL CARRO
$(document).on("change", ".cant", function(e) {

    var idpro = $(this).attr('data-id');
    var cantidad = $(this).val();
    if (esdecimal(cantidad)) {
        $('#totalcarrito').html("<center><img src='/ecomerce/css/img/ajax_small.gif' /></center>");
        $.post('http://localhost:26/ecomerce/Productos/cantidadcarrito/' + idpro + '/' + cantidad, function() {
            carrito();
        });
    }
});

//-----------------------------------------------------------------------------------------------------
//PARA QUE EL CARRITO SIGA LA PANTALLA
$(function() {
    var offset = $("#carrito").offset();
    var topPadding = 15;
    $(window).scroll(function() {
        if ($("#carrito").height() < $(window).height() && $(window).scrollTop() > offset.top) { /* LINEA MODIFICADA POR ALEX PARA NO ANIMAR SI EL SIDEBAR ES MAYOR AL TAMAÑO DE PANTALLA */
            $("#carrito").stop().animate({
                marginTop: $(window).scrollTop() - offset.top + topPadding
            });
        } else {
            $("#carrito").stop().animate({
                marginTop: 0
            });
        }
        ;
    });
})
